package com.wicket.okrframework.integration.dto;

import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QueryInductionRecordDetailRespDto
 * @使用场景
 */
@Data
public class QueryInductionRecordDetailRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 就职记录ID
   */
  @ApiModelProperty("就职记录ID")
  private String inductionRecordId;

  /**
   * 身份人员ID
   */
  @ApiModelProperty("身份人员ID")
  private String originalRoleMemberId;

  /**
   * 个人账号ID
   */
  @ApiModelProperty("个人账号ID")
  private String userId;

  /**
   * 真实头像
   */
  @ApiModelProperty("真实头像")
  private String userFace;

  /**
   * 真实姓名
   */
  @ApiModelProperty("真实姓名")
  private String idCardName;

  /**
   * 用户昵称
   */
  @ApiModelProperty("用户昵称")
  private String nickName;

  /**
   * 用户性别 MALE:男 FEMALE:女
   */
  @ApiModelProperty("用户性别")
  private String sex;

  /**
   * 身份人员编号
   */
  @ApiModelProperty("身份人员编号")
  private String roleMemberCode;

  /**
   * 是否兼职 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否兼职")
  private String isPtJob;

  /**
   * 备注
   */
  @ApiModelProperty("备注")
  private String relaMemo;

  /**
   * 备注首位字母
   */
  @ApiModelProperty("备注首位字母")
  private String firstLetter;

  /**
   * 是否主岗 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否主岗")
  private String isMainInduction;

  /**
   * 是否主管 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否主管")
  private String isDirector;

  /**
   * 是否行政主管 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否行政主管")
  private String isXzDirector;

  /**
   * 是否自定义职务 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否自定义职务")
  private String isCustomPosition;

  /**
   * 职务性质 PRINCIPAL:正职 DEPUTY:副职 MEMBER:成员
   */
  @ApiModelProperty("职务性质")
  private String positionType;

  /**
   * 编制ID
   */
  @ApiModelProperty("编制ID")
  private String staffingId;

  /**
   * 就职开始时间
   */
  @ApiModelProperty("就职开始时间")
  private Date inductionStartTime;

  /**
   * 就职结束时间
   */
  @ApiModelProperty("就职结束时间")
  private Date inductionEndTime;

  /**
   * 必选冗余职务名称
   */
  @ApiModelProperty("必选冗余职务名称")
  private String positionIdName;

  /**
   * 冗余可选职务ID
   */
  @ApiModelProperty("冗余可选职务ID")
  private String positionId;

  /**
   * 冗余可选职务级别ID
   */
  @ApiModelProperty("冗余可选职务级别ID")
  private String positionGradeId;

  /**
   * 冗余职务级别名称
   */
  @ApiModelProperty("冗余职务级别名称")
  private String positionGradeName;

  /**
   * 冗余职务字典名称
   */
  @ApiModelProperty("冗余职务字典名称")
  private String typeDictionaryName;

  /**
   * 冗余岗位名称
   */
  @ApiModelProperty("冗余岗位名称")
  private String stationName;

  /**
   * 冗余职位名称
   */
  @ApiModelProperty("冗余职位名称")
  private String postName;

  /**
   * 冗余岗位类型名称
   */
  @ApiModelProperty("冗余岗位类型名称")
  private String stationTypeName;

  /**
   * 冗余岗位等级名称（融合别名）
   */
  @ApiModelProperty("冗余岗位等级名称（融合别名）")
  private String stationGradeName;

  /**
   * 组织ID
   */
  @ApiModelProperty("组织ID")
  private String organizationId;

  /**
   * 冗余组织名称
   */
  @ApiModelProperty("冗余组织名称")
  private String organizationName;

  /**
   * 就职单位对象实例ID
   */
  @ApiModelProperty("所在部门ID")
  private String entityId;

  /**
   * 冗余部门名称
   */
  @ApiModelProperty("所在部门名称")
  private String deptShortName;

  /**
   * 合并处理后汇报主管就职记录ID
   */
  @ApiModelProperty("合并处理后汇报主管就职记录ID")
  private String reportChargeInductionRecordId;

  /**
   * 部门ID
   */
  @ApiModelProperty("分管部门ID")
  private String deptId;

  /**
   * 部门名称（中文）
   */
  @ApiModelProperty("分管部门名称")
  private String deptName;

  /**
   * 排序
   */
  @ApiModelProperty("排序")
  private Long orderNumber;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 批次下更新状态 NEW:本次新增 UNCHANGED:正常未变 REVISION:本次修订 ARCHIVE:本次存档
   */
  @ApiModelProperty("批次下更新状态")
  private String updateStatus;

  /**
   * 存档类型 NOT_ARCHIVE:未归档 TOBE_ARCHIVING:想归档 ARCHIVED:已归档
   */
  @ApiModelProperty("存档类型")
  private String archivngType;

  /**
   * 操作人就职记录ID
   */
  @ApiModelProperty("操作人就职记录ID")
  private String operationInductionId;

  /**
   * 操作时间
   */
  @ApiModelProperty("操作时间")
  private Date operateTime;

}
